package Servicios;

import DAO.UsuarioDAO;
import DTO.UsuarioDTO;

/**
 * Clase que define el servicio de Login.
 * Se utiliza Singleton Pattern
 * @author eagle_eye
 */
public class ServicioLogin {

    private static ServicioLogin instance = new ServicioLogin();
    private UsuarioDTO usuarioDTO;

    private ServicioLogin() {
    }

    public static ServicioLogin getInstance() {
        return instance;
    }

    /**
     * Metodo que permite acceder a la capa de acceso a datos para hacer el login del usuario.
     * @param name
     * @param passwd
     * @return true si la operacion fue exitosa, false, en otro caso.
     */
    public boolean Login(String name) {
        PersistenceServicio ps = ServiciosFactory.getPersistenceServicio();
        UsuarioDAO usuarioDAO = new UsuarioDAO(ps.createEmf());
        usuarioDTO = usuarioDAO.login(name);
        if (getUsuarioDTO() != null) {
            return true;
        } else {
            return false;
        }
    }

    public UsuarioDTO getUsuarioDTO() {
        return usuarioDTO;
    }
}
